System for estimating data using iterative fast fourier transform error correction

ABSTRACT

A system for estimating data from a received plurality of data signals in a code division multiple access communication system. The data signals are transmitted in a shared spectrum at substantially the same time. A receiver receives a combined signal of the transmitted data signals and a sampling device samples the combined signal. A channel estimating device estimates a channel response for the transmitted data signals. A data detection device estimates data of the data signals using the samples and the estimated channel response. The data estimation uses a Fourier transform based data estimating approach. An error in the data estimation introduced from a circulant approximation used in the Fourier transform based approach is iteratively reduced.

This application is a continuation of U.S. patent application Ser. No.10/004,370, filed Nov. 1, 2001, which claims priority from U.S.Provisional Patent Application No. 60/282,387, filed on Apr. 6, 2001,which are incorporated herein by reference as if fully set forth.

BACKGROUND

The invention generally relates to wireless communication systems. Inparticular, the invention relates to data detection in a wirelesscommunication system.

FIG. 1 is an illustration of a wireless communication system 10. Thecommunication system 10 has base stations 12 ₁ to 12 ₅ (12) whichcommunicate with user equipments (UEs) 14 ₁ to 14 ₃ (14). Each basestation 12 has an associated operational area, where it communicateswith UEs 14 in its operational area.

In some communication systems, such as code division multiple access(CDMA) and time division duplex using code division multiple access(TDD/CDMA), multiple communications are sent over the same frequencyspectrum. These communications are differentiated by theirchannelization codes. To more efficiently use the frequency spectrum,TDD/CDMA communication systems use repeating frames divided into timeslots for communication. A communication sent in such a system will haveone or multiple associated codes and time slots assigned to it. The useof one code in one time slot is referred to as a resource unit.

Since multiple communications may be sent in the same frequency spectrumand at the same time, a receiver in such a system must distinguishbetween the multiple communications. One approach to detecting suchsignals is multiuser detection (MUD). In MUD, signals associated withall the UEs 14, users, are detected simultaneously. Another approach todetecting a multi-code transmission from a single transmitter is singleuser detection (SUD). In SUD, to recover data from the multi-codetransmission at the receiver, the received signal is passed through anequalization stage and despread using the multi-codes. Approaches forimplementing MUD and the equalization stage of SUD include using aCholesky or an approximate Cholesky decomposition. These approaches havea high complexity. The high complexity leads to increased powerconsumption, which at the UE 14 results in reduced battery life. Toreduce the complexity, fast fourier transform (FFT) based approacheshave been developed for MUD and SUD. In some FFT approaches, anapproximation is made to facilitate the FFT implementation. Thisapproximation results in a small error being introduced in the estimateddata. Accordingly, it is desirable to have alternate approaches todetecting received data.

SUMMARY

A system for estimating data from a received plurality of data signalsin a code division multiple access communication system. The datasignals are transmitted in a shared spectrum at substantially the sametime. A receiver receives a combined signal of the transmitted datasignals and a sampling device samples the combined signal. A channelestimating device estimates a channel response for the transmitted datasignals. A data detection device estimates data of the data signalsusing the samples and the estimated channel response. The dataestimation uses a Fourier transform based data estimating approach. Anerror in the data estimation introduced from a circulant approximationused in the Fourier transform based approach is iteratively reduced.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a wireless communication system.

FIG. 2 is a simplified transmitter and a FFT based data detectionreceiver using iterative error correction.

FIG. 3 is an illustration of a communication burst.

FIG. 4 is a flow chart of iterative error correction.

FIG. 5 is a flow chart of a receiver selectively using iterative errorcorrection.

FIG. 6 is a flow chart of an example of a FFT based SUD using iterativeerror correction.

FIG. 7 is a flow chart of an example of a FFT based MUD using iterativeerror correction.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 2 illustrates a simplified transmitter 26 and receiver 28 using aFFT based data detection with iterative error correction in a TDD/CDMAcommunication system, although iterative error correction is applicableto other systems, such as frequency division duplex (FDD) CDMA. In atypical system, a transmitter 26 is in each UE 14 and multipletransmitting circuits 26 sending multiple communications are in eachbase station 12. The iterative error correction receiver 28 may be at abase station 12, UEs 14 or both.

The transmitter 26 sends data over a wireless radio channel 30. A datagenerator 32 in the transmitter 26 generates data to be communicated tothe receiver 28. A modulation/spreading/training sequence insertiondevice 34 spreads the data and makes the spread reference datatime-multiplexed with a midamble training sequence in the appropriateassigned time slot and codes for spreading the data, producing acommunication burst or bursts.

A typical communication burst 16 has a midamble 20, a guard period 18and two data fields 22, 24, as shown in FIG. 3. The midamble 20separates the two data fields 22, 24 and the guard period 18 separatesthe communication bursts to allow for the difference in arrival times ofbursts transmitted from different transmitters 26. The two data fields22, 24 contain the communication burst's data.

The communication burst(s) are modulated by a modulator 36 to radiofrequency (RF). An antenna 38 radiates the RF signal through thewireless radio channel 30 to an antenna 40 of the receiver 28. The typeof modulation used for the transmitted communication can be any of thoseknown to those skilled in the art, such as quadrature phase shift keying(QPSK) or M-ary quadrature amplitude modulation (QAM).

The antenna 40 of the receiver 28 receives various radio frequencysignals. The received signals are demodulated by a demodulator 42 toproduce a baseband signal. The baseband signal is sampled by a samplingdevice 43, such as one or multiple analog to digital converters, at thechip rate or a multiple of the chip rate of the transmitted bursts. Thesamples are processed, such as by a channel estimation device 44 and aFFT based data detection device 46, in the time slot and with theappropriate codes assigned to the received bursts. The channelestimation device 44 uses the midamble training sequence component inthe baseband samples to provide channel information, such as channelimpulse responses. The channel impulse responses can be viewed as amatrix, H. The channel information and spreading codes used by thetransmitter are used by the data detection device 46 to estimate thetransmitted data of the received communication bursts as soft symbols.An iterative error correction device 48 processes the estimated data tocorrect errors resulting from the FFT based detection.

Although iterative error correction is explained using the thirdgeneration partnership project (3GPP) universal terrestrial radio access(UTRA) TDD system as the underlying communication system, it isapplicable to other systems and other FFT linear equation basedapplications. That system is a direct sequence wideband CDMA (W-CDMA)system, where the uplink and downlink transmissions are confined tomutually exclusive time slots.

Data detection is typically modeled using a linear equation per Equation1.Zx=y  Equation 1For SUD, data detection is typically modeled per Equations 2 and 3.r=Hs+n  Equation 2s=Cd   Equation 3r is the received samples as produced by the sampling device 43. H isthe channel response matrix as produced using the channel responses fromthe channel estimation device 44. s is the spread data vector. Thespread data vector, s, as per Equation 3, is a vector multiplication ofthe channel codes C and the originally transmitted data d.

A minimum mean square error (MMSE) approach to solving Equation 1 is perEquations 4 and 5.s =(H ^(H) H+σ ² I)⁻¹ H ^(H) r   Equation 4d=C ^(H) s   Equation 5(·)^(H) represents the complex conjugate transpose function. σ² is thestandard deviation as determined by the channel estimation device 44. Iis the identity matrix.

Equation 4 acts as the channel equalization stage and Equation 5 as thedespreading. A cross channel correlation matrix is defined per Equation6.R=H ^(H) H+σ ² I  Equation 6The linear equation required to be solved is per Equation 7.Rs=y   Equation 7y is per Equation 8.y=H ^(H) r   Equation 8Although R is not circulant for a multiple of the chip rate sampling, aportion of R is circulant. The circulant portion is derived byeliminating the bottom and top W rows. W is the length of the channelimpulse response. By approximating R as a circulant matrix, R_(cir),R_(cir) is decomposable through fourier transforms, such as per Equation9. $\begin{matrix}{R_{cir} = {{D_{D}^{- 1}\Lambda\quad D_{P}} = {\frac{1}{P}D_{P}^{*}\Lambda\quad D_{P}}}} & {{Equation}\quad 9}\end{matrix}$

Using a column of the R matrix to approximate a circulant version of R,the spread data vector can be determined such as per Equation 10.$\begin{matrix}{{F\left( \underset{\_}{s} \right)} = \frac{{F\left( (H)_{1} \right)} \cdot {F\left( \underset{\_}{r} \right)}}{F\left( (R)_{1} \right)}} & {{Equation}\quad 10}\end{matrix}$

(R)₁ is the first column of R and (H)₁ is the first column of H,although any column can be used by permuting that column. Preferably, acolumn at least W columns from the left and right are used, since thesecolumns have more non-zero elements.

For MUD, data detection is typically modeled per Equation 11.r=Ad+n   Equation 11A is the symbol response matrix. The symbol response matrix is producedby multiplying the channel codes of the transmitted bursts with eachburst's channel response.

A MMSE approach to solving Equation 11 is per Equations 12 and 13.d =(A ^(H) A+σ ² I)⁻¹ A ^(H) r  Equation 12R=A ^(H) A+σ ² I  Equation 13R is referred to as the cross correlation matrix.

The linear equation to be solved is per Equation 14.d=R ⁻¹ y   Equation 14y is per Equation 15.y=A ^(H) r  Equation 15

If the elements of R are grouped into K by K blocks, the structure of Ris approximately block-circulant. K is the number of bursts that arrivesimultaneously. The K bursts are superimposed on top of each other inone observation interval. For the 3GPP UTRA TDD system, each data fieldof a time slot corresponds to one observation interval. Using a blockcirculant approximation of R, R_(bcir), R_(bcir) is decomposable throughblock-Fourier transforms, such as per Equation 16. $\begin{matrix}{R_{bcir} = {{D_{P}^{- 1}\Lambda\quad D_{P}} = {\frac{1}{P}D_{P}^{*}\Lambda\quad D_{P}}}} & {{Equation}\quad 16}\end{matrix}$D_(P) is per Equation 17.D _(P) =D _(N) {circle around (×)}I _(K) , P=K·N _(S)  Equation 17D_(N) is the N-point FFT matrix and I_(K) is the identity matrix of sizeK. {circle around (×)} represents the kronecker product. N_(S) is thenumber of data symbols in a data field. Λ is a block-diagonal matrix.The blocks of Λ are D_(P)R_(cir)(:,1:K). As a result, Λ is per Equation18.Λ=diag(D _(P) R(:,1:K))  Equation 18Using FFTs, the data vector, d, is determined per Equation 19.F(d)=Λ⁻¹ F(A ^(H) r)  Equation 19

As a result, the FFT of d is determined. The data is estimated by takingthe inverse FFT of d.

To improve on the accuracy, the dimension of R may be extended toinclude the impulse response of the last symbol. This last symbol'simpulse response extends into either the midamble or guard period. Tocapture the last symbol's response, the block-circulant structure of Ris extended another W−1 chips. W is the length of the impulse response.The same FFT approach is performed by using the extended R matrix andextended r by using information from the midamble (after midamblecancellation) or the guard period.

If a prime factor algorithm (PFA) FFT is used, the R matrix may beextended so that the most efficient PFA of length z is used. The Rmatrix is similarly expanded to length z using the midamble or guardperiod information.

Although iterative error correction is explained in conjunction withspecific implementations of SUD and MUD, it is applicable to any FFTbased solution to a linear equation, which uses a circulantapproximation, as generally described as follows.

Equation 1 is a general linear equation.Zx=y  Equation 1To determine x, Equation 20 can be used.x=Z⁻¹ y  Equation 20Inverting matrix Z is complex. By approximating Z as a circulant matrix,Z_(cir), Z is determinable by FFT decomposition per Equations 21 or 22.$\begin{matrix}{Z_{cir} = {{D_{P}^{- 1}\Lambda\quad D_{P}} = {\frac{1}{P}D_{P}^{*}\Lambda\quad D_{P}}}} & {{Equation}\quad 21}\end{matrix}$ $\begin{matrix}{Z_{cir}^{- 1} = {{D_{P}^{- 1}\Lambda\quad D_{P}} = {\frac{1}{P}D_{P}^{*}\Lambda^{- 1}D_{P}}}} & {{Equation}\quad 22}\end{matrix}$If Z is a block-circulant matrix, a block-fourier transform is usedinstead, which uses equations analogous to Equations 21 and 22.

The circulant approximation of Z creates an approximation error. Thedifference between Z and Z_(cir) is per Equation 23.Z=Z _(cir)−Δ_(Z)  Equation 23

Δ_(Z) is the differential matrix between Z and Z_(cir). Using thecirculant and differential matrix, Equation 1 becomes Equation 24.(Z _(cir)−Δ_(Z)) x=y   Equation 24By rearranging Equation 24, Equation 25 results.x=Z _(cir) ⁻¹ y+Z _(cir) ⁻¹Δ_(z) x   Equation 25An iterative approach can be used to solve Equation 25, per Equation 26,27 and 28.x ^((k)) =x ^(((k−1)))+Δ_(x) ^(((k−1)))  Equation 26x ^(((k−1))) =Z _(cir) ⁻¹ y   Equation 27Δ_(x) ^(((k−1))) =Z _(cir) ⁻¹Δ_(Z) x ^(((k−1)))  Equation 28Using Equations 26, 27 and 28, x is solved as follows. An initialsolution of x, x ⁽⁰⁾, is determined using FFTs of Equation 21 or 22 andthe circulant approximation, as illustrated by Equation 29.x ⁽⁰⁾ =Z _(cir) ⁻¹ y   Equation 29An initial error correction term, Δ_(x) ⁽⁰⁾, is determined usingEquation 30.Δ_(x) ⁽⁰⁾ =Z _(cir) ⁻¹Δ_(Z) x ⁽⁰⁾  Equation 30The initial error correction term, Δ_(x) ⁽⁰⁾, is added to the initialsolution, x⁽⁰⁾, per Equation 31.x ⁽¹⁾ =x ⁽⁰⁾+Δ_(x) ⁽⁰⁾  Equation 31Iterations are repeated N times per Equations 32 and 33.Δ_(x) ^((k)) =Z _(cir) ⁻¹Δ_(Z) x ^((k))  Equation 32x ^((k+1)) =x ^((k))+Δ_(x) ^((k)) , k=1, 2, . . . N−1  Equation 33x ^((N)) is used as the estimate for x. The number of iterations, N, maybe a fixed number based on a trade-off between added complexity due tothe iterative error correction process and increased accuracy in the xdetermination. The number of iterations, N, may not be fixed. Theiterations may continue until x ^((k+1)) and x ^((k)) are the same value(the solution converges) or their difference is below a threshold, suchas per Equations 34 and 35, respectively.x ^((k+1)) −x ^((k))=0  Equation 34x ^((k+1)) −x ^((k)) <T  Equation 35T is the threshold value.

One of the advantages to iterative error correction is that it isoptional. The initial solution, x ⁽⁰⁾, is the same estimation of x aswould result without any error correction. As a result, if additionalprecision in the x determination is not necessary, iterative errorcorrection is not performed and the additional complexity of iterativeerror correction is avoided. However, if additional precision isnecessary or desired, iterative error correction is performed at theexpense of added complexity. Accordingly, iterative error correctionprovides an adaptable tradeoff between accuracy and complexity.Furthermore, since iterative error correction is performed only usingmatrix multiplications, additions and subtractions, the added complexityof iterative correction is relatively small.

Applying iterative error correction to a MMSE solution for SUD, thelinear equation being solved is per Equation 36.Rs=y   Equation 36y and R are per Equations 37 and 13, respectively.y=H ^(H) r   Equation 37R=H ^(H) H+σ ² I  Equation 13In relating Equation 36 to Equation 1, R corresponds to Z, s correspondsto x and y corresponds to y.

Using a circulant approximation for R, R_(cir), iterative errorcorrection is performed as follows. An initial spread data estimate, s⁽⁰⁾, is determined using FFTs, as illustrated by Equation 38.s ⁽⁰⁾ =R _(cir) ⁻¹ y   Equation 38An initial error correction term, Δ_(s) ⁽⁰⁾, is determined usingEquation 39.Δ_(s) ⁽⁰⁾ =R _(cir) ⁻¹Δ_(R) s ⁽⁰⁾  Equation 39

Δ_(R) is the difference between R and R_(cir). The initial errorcorrection term, Δ_(s) ⁽⁰⁾, is added to the initial solution, s ⁽⁰⁾, perEquation 40.s ⁽¹⁾ =s ⁽⁰⁾+Δ_(s) ⁽⁰⁾  Equation 40

Iterations are repeated N times per Equations 41 and 42.Δ_(s) ^((k)) =R _(cir) ⁻¹Δ_(R) s ^((k))  Equation 41s ^((k+1)) =s ^((k))+Δ_(s) ^((k)) , k=1, 2, . . . N−1  Equation 42The data symbols are determined using the N^(th) iterations estimatedspread data vector, s ^((N)), by despreading using the channel codes ofthe transmitted bursts as illustrated in Equation 43.d=C ^(H) s ^((N))  Equation 43

Applying iterative error correction to a MMSE solution for MUD, thelinear equation being solved is per Equation 44.Rd=y   Equation 44y and R are per Equations 45 and 46, respectively.y=A ^(H) r   Equation 45R=A ^(H) A+σ ² I  Equation 46In relating Equation 44 to Equation 1, R corresponds to Z, d correspondsto x and y corresponds to y.

Using the block circulant approximation for R, R_(bcir), iterative errorcorrection is performed as follows. An initial data estimate, d⁽⁰⁾, isdetermined using FFTs, as illustrated by Equation 47.d ⁽⁰⁾ =R _(bcir) ⁻¹ y   Equation 47

An initial error correction term, Δ_(R) ⁽⁰⁾, is determined usingEquation 48.Δ_(R) ⁽⁰⁾ =R _(bcir) ⁻¹Δ_(R) d ⁽⁰⁾  Equation 48

Δ_(R) is the difference between R and R_(bcip). The initial errorcorrection term, Δ_(d) ⁽⁰⁾, is added to the initial solution, d ⁽⁰⁾, perEquation 49.d ⁽¹⁾ =d ⁽⁰⁾+Δ_(d) ⁽⁰⁾  Equation 49

Iterations are repeated N times per Equations 50 and 51.Δ_(d) ^((k)) =R _(bcir) ⁻¹Δ_(R) d ^((k))  Equation 50d ^((k+1)) =d ^((k))+Δ_(d) ^((k)) , k=1, 2, . . . N  Equation 51

The estimated data symbols is the Nth iterations estimated data symbols,d ^((N)). An analogous approach is also used if the R matrix is extendedto capture the last symbols impulse response or extended to an efficientPFA length.

1. A system for estimating data received from a plurality of datasignals in a code division multiple access communication (CDMA) system,the data signals transmitted in a shared spectrum at substantially thesame time, the method comprising: a receiver for receiving a combinedsignal of the transmitted data signals over the shared spectrum; asampling device for sampling the received signal; a channel estimatingdevice for estimating a channel response for the transmitted datasignals; and a data detection device for estimating data of the datasignals using the samples and the estimated channel response, using aFourier transform based data estimation approach, and iterativelyreducing an error in the data estimation introduced from a circulantapproximation used in the Fourier transform based approach.
 2. Thesystem of claim 1 wherein the Fourier transform based data estimationapproach is a fast Fourier transform based data estimation approach. 3.The system of claim 1 wherein the Fourier transform based dataestimation approach uses a single user detection based data estimationapproach.
 4. The system of claim 1 wherein the Fourier transform baseddata estimation approach uses a multiuser detection based dataestimation approach.
 5. A system for selectively reducing errors inestimating data received from a plurality of data signals in a codedivision multiple access (CDMA) communication system, the data signalstransmitted in a shared spectrum at substantially the same time, themethod comprising: a receiver for receiving a combined signal of thetransmitted data signals over the shared spectrum; a sampling device forsampling the received signal; a channel estimation device for estimatinga channel response for the transmitted data signals; a data detectiondevice for estimating data of the data signals using the samples and theestimated channel response, using a Fourier transform based dataestimating approach, the Fourier transform based data estimatingapproach using a circulant approximation; and an error correction devicefor selectively reducing an error in the data estimation introduced fromthe circulant approximation in the Fourier transform based approach. 6.The system of claim 5 wherein the error correction device iterativelyreduces the error in the data estimation and the method furthercomprising controlling a number of iterations performed by the errorcorrection device.